تهــــــران دی ال | پرتال تخصصی دانلود نرم افزار و بازی تهــــــران دی ال(جديد ترين نرم افزار های هک و جاسوسی ،نرم افزار های 2010 و .....) |
|||||||
پنج شنبه 16 تير 1390برچسب:ajax, آموزش ajax, آموزش آجکس, طراحی وب, طرح ajax, وب حرفه ای, :: 12:12 :: نويسنده : admin
کلمه AJAX مخفف عبارت Asynchronous JavaScript and XML و بر پایه JavaScript و HTTP requests است، آژاکس یک زبان برنامه نویسی جدید نیست، بلکه یک تکنیک و یک روش برای استفاده از استانداردهای موجود است. آژاکس تکنیک نقل و انتقال داده ها با یک وب سرور است و برای تغییر دادن بخشی از یک صفحه وب بدون بارگذاری مجدد کل صفحه بکار می رود. پیش نیاز برای یادگیری آژاکسبرای یادگیری آژاکس لازم است دانش اولیه از موارد زیر را داشته باشید:
آژاکس یک تکنیک برای ایجاد برنامه های وب سریع و بهتر است. با آژاکس، جاوا اسکریپت می تواند بوسیله شیء XMLHttpRequest بطور مستقیم با سرور ارتباط برقرار کند، جاوا اسکریپت می تواند بدون بارگذاری مجدد صفحه، داده ها را ارسال و دریافت کند. آژاکس از انتقال داده بطور غیر همزمان (آسنکرون) بین مرورگر اینترنتی و سرور وب استفاده می کند، این عمل اجازه می دهد بجای درخواست کل صفحه وب از سرور فقط مقدار کمی از اطلاعات درخواست شود. با استفاده از تکنیک آژاکس برنامه های اینترنتی، کوچکتر، سریعتر و بسیار کاربر پسند می شوند. آژاکس مبتنی بر استانداردهای اینترنت است:
آژاکس برای بهتر کردن برنامه های اینترنتی استبرنامه های اینترنتی مزایای بیشتری نسبت به برنامه های کامپیوتری دارند:
شروع به کار با آژاکسآژاکس مبتنی بر استانداردهای موجود است که این استانداردها برای سال های متوالی مورد استفاده برنامه نویسان بوده و هست. AJAX XMLHttpRequestآژاکس از شیء XMLHttpRequest استفاده می کنددر روش سنتی با جاوا اسکریپت، برای دریافت (ارسال) اطلاعات از (به) یک پایگاه داده یا یک فایل بروی سرور، شما مجبور بودید که یک فرم HTML بسازید و کاربر برای دریافت (ارسال) اطلاعات می بایست بروی دکمه ثبت (Submit) کلیک کند، سپس منتظر پاسخ سرور بماند، بعد یک صفحه جدید برای نمایش نتایج بارگذاری خواهد شد. این روش خیلی زمان بر و کند است و منجر به کمرنگ شدن ویژگی کاربر پسند بودن وب سایت می گردد. با آژاکس، جاوا اسکریپت می تواند بوسیله شیء XMLHttpRequest بطور مستقیم با سرور ارتباط برقرار کند. با شیء XMLHttpRequest، یک صفحه وب می تواند درخواست خود را به سرور ارسال کند و پاسخ خود را از سرور وب بدون بارگذاری مجدد صفحه دریافت کند. کاربر در همان صفحه منتظر خواهد ماند و متوجه تغییرات پشت صحنه نخواهد شد و تنها آنچه را که منتظرش بوده مشاهده خواهد کرد. شیء XMLHttpRequestبا استفاده از شیء XMLHttpRequest، یک برنامه نویس وب می تواند حتی بعد از اینکه صفحه بارگذاری شد صفحه را با اطلاعات دریافتی از سرور به روز رسانی کند. تکنیک آژاکس در سال ۲۰۰۵ بوسیله گوگل با سرویس “پیشنهاد گوگل” در موتور جستجویش محبوب شد. سرویس Google Suggest از شیء XMLHttpRequest برای ایجاد رابط فوق پویا وب (web interface) استفاده کرده است. شیء XMLHttpRequest توسط اکثر مرورگرهای اینترنتی (Internet Explorer, Firefox, Chrome, Opera, and Safari) پشتیبانی می شود. مثال آژاکساولین برنامه آژاکس شمااین برنامه از دو تا دکمه برای گرفتن داده از یک سرور و نمایش اطلاعات در یک صفحه وب بدون بارگذاری مجدد استفاده می کند. در ابتدا ما یک صفحه کوچک HTML با برچسب ایجاد می کنیم. برچسب
برای نمایش متناوب اطلاعات درخواست شده از سرور استفاده می شود.
برای شناسایی برچسب از یک مشخصه بصورت id=”test” استفاده می کنیم:
Click to let AJAX change this textما دو تا دکمه معمولی
در آخر ما یک اسکریپت به قسمت صفحه حاوی تابع loadXMLDoc اضافه می کنیم:همه مرورگرها بطور درونی از شیء جدید جاوا اسکریپت XMLHttpRequest پشتیبانی می کنند (البته IE5 و IE6 از ActiveXObject استفاده می کنند). این شیء می تواند اطلاعات (داده) را از سرور درخواست کند. بیاید بروی فایل HTML خودمان کار کنیم. داشتیم بروی اسکریپت جاوا اسکریپت اضافه شده در قسمت کار می کردیم:function loadXMLDoc(url) توضیح مثالایجاد یک شیء XMLHttpRequest xmlhttp=new XMLHttpRequest() ایجاد یک شیء ActiveXObject اگر مروگر اینترنتی IE5 یا IE6 باشد xmlhttp=new ActiveXObject(“Microsoft.XMLHTTP”) باز کردن شیء درخواست xmlhttp.open(“GET”,url,false) ارسال درخواست به سرور xmlhttp.send(null) به روز رسانی صفحه با اطلاعات دریافتی از سرور document.getElementById(‘test’).innerHTML=xmlhttp.responseText نکته: هر زمان بخواهید یک شیء XMLHttpRequest ایجاد نمائید کد بالا را می تواند استفاده شود. کد کامل مثال
خواص و متدهای مهم شیء XMLHttpRequestمتدهای مهمشیء XMLHttpRequest دو متد مهم دارد:
ارسال یک درخواست آژاکس به یک سروربرای ارسال یک درخواست به یک سرور وب، ما از متدهای open و send استفاده می کنیم. متد open سه تا آرگومان (متغیر ورودی) می گیرد:
متد send برای درخواست کردن از سرور استفاده می شود. فرض کنید فایلی به نام “time.asp” را می خواهیم درخواست کنیم، کدش بصورت زیر است: url=”time.asp” نکته: در این مثال فرض کرده ایم هم صفحه وب و هم منبع درخواستی هر دو در یک دایرکتوری قرار گرفته اند. خواص مهمشیء XMLHttpRequest دارای سه خاصیت مهم است:
خاصیت responseTextشیء XMLHttpRequest هر داده ایی که از سرور به عنوان نتیجه درخواست صورت گرفته دریافت می شود را در خاصیت responseText خودش ذخیره می کند. در مثالی که برای شما زده شد ما محتوای خاصیت responseText را در کد HTML مان به روش زیر کپی می کنیم: document.getElementById(‘test’).innerHTML=xmlhttp.responseText آرگومان سوم متد openوقتیکه آرگومان سوم متد Open مقدار false بگیرد، به شکل دستور زیر توجه کنید: xmlhttp.open(“GET”,url,false); وقتیکه پارامتر سوم متد Open مقدار false بگیرد، به شیء XMLHttpRequest می گوید که تا زمان تکمیل درخواست سرور، و قبل از اجرای دستور بعدی منتظر بماند. توجه: برای برنامه های کوچک و درخواست ساده از سرور، این عمل مناسب است. اما اگر وظایف درخواستی زمان بر باشند یا سرور نتواند آنرا انجام دهد، می تواند باعث بروز مشکل و هنگ کردن برنامه وب تان شود. وقتیکه آرگومان سوم متد Open مقدار true بگیرد وقتیکه پارامتر سوم متد Open مقدار true بگیرد، به شیء XMLHttpRequest می گوید که به اجرای دستورات حتی بعد از ارسال درخواست به سرور ادامه بدهد. بخاطر اینکه تا شما از کامل شدن درخواست سرور اطمینان حاصل نکرده اید نمی توانید به سادگی از پاسخ درخواست سرور استفاده کنید، لازم است شما خاصیت onreadystatechange شیء XMLHttpRequest را بروی یک تابع (یا نام یک تابع) تنظیم کنید تا بعد از تکمیل درخواست، اجرا گردد. برای این منظور کد را کمی تغییر می دهیم: xmlhttp.onreadystatechange=function() خاصیت readyStateخاصیت readyState وضعیت پاسخ سرور را نگه می دارد. مقادیر ممکن برای خاصیت readyState:
خاصیت onreadystatechangeخاصیت onreadystatechange یک تایع (یا نام یک تابع) را در خود نگه می دارد هر زمان که خاصیت readyState تغییر کند بطور خودکار تابع را فراخوانی خواهد کرد. شما می توانید یک تابع کامل را در این خاصیت بصورت زیر ذخیره نمائید: xmlhttp.onreadystatechange=function() همچنین شما می توانید نام تابع را همانند کد زیر در این خاصیت قرار دهید: xmlhttp.onreadystatechange=state_Change چیزی به اسم آژاکس سرور وجود ندارد!شیء XMLHttpRequest می تواند هر نوع داده ایی را درخواست کند. با شیء XMLHttpRequest شما می توانید هر منبع وب بروی سرور را درخواست کنید. شما می توانید فایل متنی TXT، فایل اچ تی ام ال HTML، تصاویر یا هر داده دیگری را که قابل دسترس از طریق اینترنت است را درخواست کنید. درخواست فایل های متنیاکثر برنامه های آژاکس فایل های متنی ساده را جهت اخذ داده برای برنامه درخواست می کنند. درخواست فایل های XMLیکی از متدهای رایج آژاکس، درخواست فایل های XML برای استخراج داده برنامه است. درخواست فایل های PHP یا ASPدرخواست یک فایل PHP یا ASP یکی از روش های رایج برای دسترسی به اطلاعات پایگاه داده است. درخواست فایل های HTMLفایل های HTML یکی از روش های رایج برای پر کردن اطلاعات مختلف بروی یک صفحه وب است. فرم های ثبتبا آژاکس براحتی خواهید توانست داده های فرم ثبت نام را بدون بارگذاری مجدد صفحه دریافت کنید. مثال آنلاین از آژاکس: http://www.w3schools.com/Ajax/tryit.asp?filename=tryajax_first
نظرات شما عزیزان:
موضوعات آخرین مطالب پيوندها
تبادل
لینک هوشمند
نويسندگان |
|||||||
|